const { sequelize } = require('../config/database');
require('dotenv').config();

const initDatabase = async () => {
  try {
    console.log('🔄 MXY-926 虚拟社区平台 - 数据库初始化开始...');
    
    // 测试连接
    await sequelize.authenticate();
    console.log('✅ 数据库连接成功');
    console.log(`📍 数据库: ${process.env.DB_NAME}`);
    console.log(`👤 用户: ${process.env.DB_USER}`);
    
    // 同步所有模型到数据库
    await sequelize.sync({ force: false, alter: true });
    console.log('✅ 数据库表结构同步完成');
    
    console.log('🎉 MXY-926 虚拟社区平台数据库初始化完成!');
    console.log('⏰ 时间:', new Date().toLocaleString());
    process.exit(0);
  } catch (error) {
    console.error('❌ 数据库初始化失败:');
    console.error('   请检查:');
    console.error('   1. MySQL服务是否启动');
    console.error('   2. 数据库配置是否正确');
    console.error('   3. 用户名密码是否正确');
    console.error('   错误详情:', error.message);
    process.exit(1);
  }
};

// 如果是直接运行此文件
if (require.main === module) {
  initDatabase();
}

module.exports = initDatabase;